#include<iostream>
#include<unordered_map>
using namespace std;
const int N=1e5+10;
int f[N];
int n;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int x=0;
		cin>>x;
		if(x==0) x--;
		f[i]=f[i-1]+x;
	}
	
	unordered_map<int,int> mp;
	mp[0]=0;//千万不要忘记初始化 
	int ret=0;
	//这道题得用哈希表优化，因为只有和相等这样男女才相等没那么我们可以把上一次这个数的先存起来。可以优化很多不必要的判断
	//不错的思路 
	//另外这层循环完全可以在输入的那个循环做到 
	for(int i=1;i<=n;i++)
	{
		if(mp.count(f[i])) ret=max(ret,i-mp[f[i]]);
		else mp.insert({f[i],i});
	}
	cout<<ret<<endl;
	
	return 0;
 } 